package com.shujia.spark

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo2Map {
  def main(args: Array[String]): Unit = {

    /**
      * map  传入一行返回一行
      *
      */
    //创建sparkp配置文件对象
    val conf = new SparkConf().setAppName("map").setMaster("local")

    //上下文对象
    val sc = new SparkContext(conf)

    //将scala集合转换成RDD
    val rdd1: RDD[Int] = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8, 9))

    /**
      * map   懒执行
      * 需要action触发执行
      *
      */
    val rdd2 = rdd1.map(i => {
      println("map" + i)
      i * 2
    })


    //foreach  action算子   触发job执行
    rdd2.foreach(println)

    //同一个rdd被多次使用  会被计算多次
    //saveAsTextFile   触发job执行
    //rdd2.saveAsTextFile("spark/data/map")


  }
}
